﻿类 我的类
	函数 文本型 文本返回值全局函数(禁引用 整型 整数, 禁引用 炫文本 文本, 常量 整型& 常量引用整形, 常量 炫文本& 常量引用文本)
		炫打印() << 炫_函数信息 << 炫线程::当前编号()
		炫线程::延时(2000)
		返回 "哈哈哈"
	
	函数 整型 整型返回值全局函数(禁引用 整型 整数, 禁引用 炫文本 文本, 常量 整型& 常量引用整形, 常量 炫文本& 常量引用文本)
		炫打印() << 炫_函数信息 << 炫线程::当前编号()
		炫线程::延时(1000)
		返回 1234

函数 整型 入口函数()
	炫打印() << 炫_函数信息 << 炫线程::当前编号()

	我的类 我类 // 定义一个类的实例

	// "任务结果<类型>" 是一个管理线程结果的类,可以用来监测线程状态或是查看执行结果
	// 使用类成员函数执行时务必注意以下两点
	// 1. 第一参数的函数指针务必包含类名
	// 2. 第二参数为"类的实例指针"
	炫任务结果<炫文本> 文本结果 = 炫异步::执行(&我的类::文本返回值全局函数, &我类, 123, "123", 456, "456");
	炫打印() << "文本结果.是否运行" << 文本结果.是否运行()	 // 检查线程是否正在运行中
	炫打印() << "文本结果.是否有效" << 文本结果.是否有效() 	// 检查线程是否有效
	炫打印() << "文本结果.是否完成" << 文本结果.是否完成() 	// 检查线程是否已经执行完毕

	// "等待至" 无论如何只会返回三种结果:
	// 炫::任务完成(代表线程已成功执行完毕)
	// 炫::任务超时(代表超过等待时间)
	// 炫::任务延迟(代表线程因为其他因素延迟启动, 比如抢占不到CPU资源)
	炫打印() << 文本结果.等待至(100) 										 // 最长等待100毫秒
	炫打印() << 文本结果.结果()                          // 取返回值 (注意!!!!当"取结果"被调用时会无限等待线程结束)

	炫任务结果<整型> 整型结果 = 炫异步::执行(&我的类::整型返回值全局函数, &我类, 123, "123", 456, "456");
	炫打印() << "整型结果.是否运行" << 整型结果.是否运行()	 // 检查线程是否正在运行中
	炫打印() << "整型结果.是否有效" << 整型结果.是否有效() 	// 检查线程是否有效
	炫打印() << "整型结果.是否完成" << 整型结果.是否完成() 	// 检查线程是否已经执行完毕
	整型结果.等待()																	 	 // 无限等待直到线程结束
	炫打印() << 整型结果.结果()                          // 取返回值

	// 也可以选择使用宏简化写法
	炫任务结果<整型> 整型结果2 = 炫_执行线程(&我的类::整型返回值全局函数, &我类, 123, "123", 456, "456")
	炫打印() << 整型结果2.结果()                          // 取返回值
	炫打印() << 整型结果2.结果()                          // 取返回值 多次调用也是安全的
	返回 0